At present, a typical voice store-and-forward message system which is devoted to a single location provides a capability wherein message-sending users or senders can utilize a message recipient's name to address a message rather than using the message recipient's telephone number. This, as is well known in the art, is advantageous because senders generally find it easier to remember a message recipient's name rather than his or her telephone number. Further, some such voice store-and-forward message systems provide name confirmation wherein the system "speaks" the message recipient's name. In such systems, the sender enters a message recipient's name by using the digits provided by the keys of a typical telephone keypad having ten numeric keys, each key typically being representative of a multiplicity of alphabetic letters. The store-and-forward message system matches the digits entered from the telephone set against a numeric transcription of alphabetic names which are stored in its database. Once a unique match is found, the name has been recognized. If, however, there is no unique match, the sender is given a choice of potential matches from among a list of spoken names.
Although the above-described capability is desired, it may be costly to implement in a geographically dispersed network comprising a multiplicity of nodes if all the names in all of the nodes are stored in a database for each of the nodes. The cost involved includes the cost of generating a potentially large database, the cost of providing such a large database, and the cost of maintaining such a large database. These costs are not any less when most of the names stored at a node are not used. The cost of generating a large, multi-node database, above and beyond the cost of generating the local database at each node, comprises both the communications cost in transferring data among nodes and the cost at each node of checking for and resolving conflicts, both between remote data and local data and among remote data from different nodes. The cost of providing such a large database includes the obvious costs of primary storage media, of backup storage media, and of copying from primary to backup storage media, as well as the less obvious effect of a loss of efficiency in addressing by name. The loss of efficiency is due to the presence of many names in the database which could cause matches, even for local users at a node who do not intend to use the network. The cost of maintaining such a large network database includes both the communication costs for updates to all nodes when any node has a database change and the exponentially increased costs of consistency checking as the size of the database increases.
In light of the above, there is a need in the art for a method for generating and maintaining a user name database in a network of store-and-forward message system nodes, wherein the database associated with each of the individual nodes of the network is not completely replicated.